
// 实现语言不限

// 给定一个字符串，一个敏感词数组
// 将字符串中的敏感词替换成***
// 输入 =>  "为啥我是全班最丑的男生，没有之一，为啥没人理我，伤心了"
//         ["丑", "伤心"]
// 输出 => "为啥我是全班最***的男生，没有之一，为啥没人理我，***了"

// 如果敏感词连续出现，则会出现多次***
// "为啥我是全班最丑的男生，没有之一，为啥没人理我，伤心伤心了"
// => "为啥我是全班最***的男生，没有之一，为啥没人理我，******了"
// 如何解决这个问题，在连续的敏感词出现，只替换3个*号
// => "为啥我是全班最***的男生，没有之一，为啥没人理我，***了"

// var str = "为啥我是全班最丑的男生，没有之一，为啥没人理我，伤心了"

// var arr = ["丑", "伤心"]

// /**
//  * 
//  * @param { String } str 
//  * @param { String[] } arr 
//  */
// function replace(str, arr) {
//     var reg = new RegExp(`(${arr.join('|')})+`)
//     return str.replace(reg, '***')
// }
// console.log(replace(str,arr))


var name = '全班最丑'

/** */
function fn1() {
    setTimeout(_ => {
        console.log(name)
    }, 0)
    name = "丑弟"
    console.log(name)

}

fn1()

/**
 * 
 * @param { Element } Dom 
 * @param { number } R 
 * @param { number } startX 
 * @param { number } startY 
 */
function circularAni(Dom, R, startX, startY) {
    degree += 1;
    //计算弧度,js的三角函数必须传入弧度
    let rad = Math.PI / 180 * degree;
    //计算大圆上每一个A的x,y
    let x = Math.sin(rad) * R;
    let y = Math.cos(rad) * R;

    ball.style.left = x + startX + 'px';
    ball.style.top = y + startY + 'px';

    requestAnimationFrame(circularAni(Dom, R, startX, startY))
};


/**
 * @param { Element } Dom  节点
 * @param { number } R  半径
 * @param { number } startX  圆心 
 * @param { number } startY 
 * @param { number } degree  起始角度 
 * @param { number } degree  运动速度
*/
function circularAni(Dom, R, startX, startY, degree = 0, speed = 1) {
    degree += speed;
    //计算弧度,js的三角函数必须传入弧度
    let rad = Math.PI / 180 * degree;
    //计算大圆上每一个A的x,y
    let x = Math.sin(rad) * R;
    let y = Math.cos(rad) * R;

    ball.style.left = x + startX + 'px';
    ball.style.top = y + startY + 'px';

    requestAnimationFrame(circularAni(Dom, R, startX, startY, degree, speed))
};



(async function (params) {
    const divs = Array.from(document.querySelectorAll('div'))


    for (let index = 0; index < divs.length; index++) {

        let temp = divs[index];
        temp.style.backgroundColor = 'blue'
        let seep = 1

        for (let j = 0 + 1; j < divs.length; j++) {
            const num1 = +temp.innerText
            const num2 = +divs[j].innerText

            await seelp()

            if (num1 > num2) {

                console.log("需要交换位置")

                move(temp, 120 * seep)
                move(divs[j], -120)
                seep++

                [divs[0], divs[1]] = [divs[1], divs[0]]
                // const ain = divs[j]
                console.log(divs)


            } else {
                temp.style.backgroundColor = ''

                seep = 1
                temp = divs[j]
                temp.style.backgroundColor = 'blue'

                console.log("不需要交换位置")
            }
        }
        console.log(divs)
        temp.style.backgroundColor = ''

    }
})()